function AdfDhtmlDnDContext(){this.Init()}AdfObject.createSubclass(AdfDhtmlDnDContext,AdfDnDContext);AdfDhtmlDnDContext.prototype.Init=function(){AdfDhtmlDnDContext.superclass.Init.call(this);this._clearDrag();this._dropTargetComponents=[];this._isAndroid=AdfAgent.AGENT.getOS()==AdfAgent.ANDROID_OS};
AdfDhtmlDnDContext.InitClass=function(){var a=AdfAgent.AGENT;this._NOT_ALLOWED_CURSOR=a.getCursor("not-allowed");this._LINK_CURSOR=a.getCursor("alias");this._COPY_CURSOR=a.getCursor("copy");this._MOVE_CURSOR=a.getCursor("default");this._INHERIT_CURSOR=a.getCursor("inherit")};
AdfDhtmlDnDContext.prototype.__addComponentTarget=function(a){AdfAssert.assertPrototype(a,AdfUIComponent);AdfAssert.assertPrototype(a.getDropTarget(),AdfDropTarget);this._dropTargetComponents.push(a);AdfLogger.LOGGER.finer("Add drop component",a," New count:",this._dropTargetComponents.length)};
AdfDhtmlDnDContext.prototype.__removeComponentTarget=function(a){AdfAssert.assertPrototype(a,AdfUIComponent);var b=AdfCollections.removeArrayValue(this._dropTargetComponents,a);AdfLogger.LOGGER.finer("Remove drop component",a," New count:",this._dropTargetComponents.length);AdfAssert.assert(-1!=b,"Could not find component in components array");if((b=this._lastDropTarget)&&b.getComponent()===a)this._lastDropTarget=null};
AdfDhtmlDnDContext.prototype.__removeDragSource=function(a){AdfAssert.assertPrototype(a,AdfUIComponent);var b=this._dragSource;b&&b.getComponent()==a&&(this._dragSource=null)};AdfDhtmlDnDContext.prototype.isDragging=function(){return null!=this._draggingContext};AdfDhtmlDnDContext.prototype.__isDragPrepped=function(){return null!=this._prepContext};AdfDhtmlDnDContext.prototype.getDragSource=function(){return this._dragSource};
AdfDhtmlDnDContext.prototype.getTransferable=function(){var a=this._draggingContext;return a?a._transferable:null};AdfDhtmlDnDContext.prototype.getSourceActions=function(){var a=this._draggingContext;return a?a._sourceActions:AdfDnDContext.ACTION_NONE};AdfDhtmlDnDContext.prototype.getUserAction=function(){var a=this._draggingContext;return a?a._userAction:AdfDnDContext.ACTION_NONE};
AdfDhtmlDnDContext.prototype.setDropTargetProperty=function(a,b){AdfAssert.assertString(a);var d=this._draggingContext;AdfAssert.assert(d,"setDropTargetProperty only allowed when dragging");AdfAssert.assertString(a);d=d._currDropProperties;AdfAssert.assert(d,"setAdfDropTargetProperty only allowed when we have a possible DropTarget");d[a]=b};
AdfDhtmlDnDContext.prototype.getDropTargetProperty=function(a){AdfAssert.assertString(a);var b=this._draggingContext;AdfAssert.assert(b,"getDropTargetProperty only allowed when dragging");b=b._currDropProperties;AdfAssert.assert(b,"getAdfDropTargetProperty only allowed when we have a possible DropTarget");return b[a]};AdfDhtmlDnDContext.prototype.getTriggerEvent=function(){var a=this._draggingContext;return a?a._triggerEvent:null};
AdfDhtmlDnDContext.prototype.startDrag=function(a,b,d,e,f,g,h,k){AdfAssert.assertPrototype(a,AdfDomUIInputEvent);AdfAssert.assertPrototype(b,AdfTransferable);AdfAssert.assert(null==this._draggingContext,"Already dragging");AdfAssert.assertNumeric(d);AdfAssert.assert(d!=AdfDnDContext.ACTION_NONE,"At least one action must be allowed");AdfAssert.assert(0==(d&~AdfDnDContext.ACTIONS_ALL),"allowedActions includes an undefined action flag");this._dragSourceObj=this._dragSource.applyDragSourceState(a);void 0==
e&&(e=d&AdfDnDContext.ACTION_MOVE?AdfDnDContext.ACTION_MOVE:d&AdfDnDContext.ACTION_COPY?AdfDnDContext.ACTION_COPY:AdfDnDContext.ACTION_LINK);AdfAssert.assert(e==AdfDnDContext.ACTION_MOVE||e==AdfDnDContext.ACTION_COPY||e==AdfDnDContext.ACTION_LINK,"defaultAction contains an invalid value");AdfAssert.assert(0!=(d&e),"Default action not an allowed action");AdfAssert.assertNumeric(g);AdfAssert.assertNumeric(h);"auto"==k&&(k=null);var l={};l._triggerEvent=a;l._transferable=b;l._sourceActions=d;l._cursor=
k;l._userAction=AdfDnDContext.ACTION_NONE;l._defaultAction=e;l._autoscrollTimerID=null;l._dropTarget=null;l._lastDropTarget=null;l._dropProperties={};l._currDropProperties=null;l._lastMousePage=null;this._draggingContext=l;AdfAssert.assert(!this._pendingMouseUp);this._pendingMouseUp=!1;AdfLogger.LOGGER.finer("start drag: transferable:",b);f?(a=this._getDragDiv(),b=AdfPage.PAGE,!f.dir&&b.getLocaleContext().isRightToLeft()&&(f.dir="rtl"),b.showFloatingDiv(a,f),b=f.offsetWidth,f=f.offsetHeight,l._dragWidth=
b,l._dragHeight=f,l._originX=0>g?0:bh?0:fa&&(a=0);e=e.y-b._originY;0>e&&(e=0);b._dragger&&(g=b._dragger.style,h=a+b._dragWidth,k=e+b._dragHeight,f=d.getDomWindow(),h-=d.getWindowScrollWidth(f),k-=d.getWindowScrollHeight(f),0